{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "205909dd",
   "metadata": {},
   "source": [
    "#  第五讲 无标度网络【实践】一"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c3568b41",
   "metadata": {},
   "outputs": [],
   "source": [
    "#!/usr/bin/python3\n",
    "# -*- coding: utf-8 -*-\n",
    "# Author ： 单哥的科研日常\n",
    "# 关注B站和公众号：单哥的科研日常，获取更多讲解教程"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "29c1cfab",
   "metadata": {},
   "source": [
    "### 实验环境：\n",
    "### Python版本==3.9.6, networkx==2.6.3, matplotlib==3.5.2, numpy==1.23.1, pandas==1.4.3, scipy==1.9.0"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "baadd879",
   "metadata": {},
   "source": [
    "## 1、道路网络和航空网络的度分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "1752884b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入库\n",
    "import networkx as nx\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "68ab6402",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1174 3425\n"
     ]
    }
   ],
   "source": [
    "# 加载euroroad数据集\n",
    "df1 = pd.read_csv(\"euroroad.csv\")\n",
    "G1 = nx.from_pandas_edgelist(df1, 'source', 'target', create_using = nx.Graph())\n",
    "\n",
    "# 加载openflights数据集\n",
    "df2 = pd.read_csv(\"openflights.csv\")\n",
    "G2 = nx.from_pandas_edgelist(df2, 'source', 'target', create_using = nx.Graph())\n",
    "\n",
    "print(len(G1.nodes()), len(G2.nodes()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0dbb0b95",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 定义求度分布的函数\n",
    "def get_pdf(G):\n",
    "    all_k = [G.degree(i) for i in G.nodes()]\n",
    "    k = list(set(all_k))  # 获取所有可能的度值\n",
    "    N = len(G.nodes())\n",
    "    \n",
    "    Pk = []\n",
    "    for ki in sorted(k):\n",
    "        c = 0\n",
    "        for i in G.nodes():\n",
    "            if G.degree(i) == ki:  \n",
    "                c += 1  \n",
    "        Pk.append(c/N)     \n",
    "    \n",
    "    return sorted(k), Pk"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "61fe2885",
   "metadata": {},
   "outputs": [],
   "source": [
    "deg1 = [G1.degree(i) for i in G1.nodes()]\n",
    "deg2 = [G2.degree(i) for i in G2.nodes()]\n",
    "k1, Pk1 = get_pdf(G1)\n",
    "k2, Pk2 = get_pdf(G2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1c6a6f33",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtIAAAF/CAYAAABkAC4HAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABFfUlEQVR4nO3de3ycdZn///eV9JiCBdoKSNukpwnUCiih6LooK4rgUg6KSgkuCBIBK+Du96do/XpAK3hCUIsSOQoRdKvuFuwu+112EQHRlpVFoCQtJSkph5YCkRKhTXv9/vjkbibpTDIzmZl7Dq/n45HHZO65555rJvTmnU8+9/UxdxcAAACA7NTEXQAAAABQjgjSAAAAQA4I0gAAAEAOCNIAAABADgjSAAAAQA4I0gAAAEAOCNIAAABADgjSAAAAQA7GxF0AAKC8mNkkSddI2i7pHndvi7kkAIgFI9IAAJnZDWa22cweHbL9eDNrN7P1ZnZp/+YPSlrh7udJOqnoxQJAiSBIAwAk6SZJxydvMLNaScslnSBpvqTFZjZf0nRJT/fvtrOINQJASSFIAwDk7vdKenHI5oWS1rv7BnffLul2SSdL6lYI0xL/HwFQxcp2jvTUqVO9oaEh7jIAIGsPPfTQC+4+Le46MnCQBkaepRCgj5L0fUk/NLO/l3RHuiebWYukFkmaNGnSEQcffHABSwWAwkl33i7bIN3Q0KA1a9bEXQYAZM3MuuKuYTTc/VVJH89gv1ZJrZLU1NTknLMBlKt0523+JAcASGeTpBlJ96f3bwMAiCANAEhvtaR5ZjbLzMZJOl3SyphrAoCSQZAGAMjMbpP0e0mNZtZtZue6e5+kJZLukrRW0i/c/bEsj7vIzFp7enryXzQAxKxs50gDKI4dO3aou7tbr732WtyllJ0JEyZo+vTpGjt2bNyljMjdF6fZvkrSqlEc9w5JdzQ1NZ2X6zGAasd5uHiyPW8TpAEMq7u7W3vvvbcaGhpkZnGXUzbcXVu3blV3d7dmzZoVdzkAyhjn4eLI5bzN1A4Aw3rttdc0ZcoUTt5ZMjNNmTKFESQAo8Z5uDhyOW8TpAGMiJN3bvjcmCMN5Avnk+LI9nMmSAPAKHV2dmrBggVxl1GS3P0Od2+ZPHly3KUAKGGLFy/WoYcequ9973s6++yztWLFCknSJz7xCT3++OPDPjd5/2SdnZ362c9+VpB6IwRpAPnV1iY1NEg1NeG2rS22Uvr6+vK6HwCUhRI6D2fiueee0+rVq/XII4/oM5/5zKDHrrvuOs2fPz+n4xKkAZSXtjappUXq6pLcw21Ly6hP4rfeeqsWLlyoww8/XJ/85Ce1c+dO7bXXXrsfX7Fihc4++2xJYWTi/PPP11FHHaXPfvazevjhh/X2t79dhx56qE499VS99NJLkqRjjjlGl1xyiZqamnT11Vfr7rvv1lvf+la95S1v0TnnnKPXX39dknTZZZfpyCOP1IIFC9TS0iJ3lyQ99NBDOuyww3TYYYdp+fLlo3p/AJA3BToPX3nllVqwYIEWLFigq666Sp2dnTr44IPV3NysQw45RKeddpp6e3slhfPju9/9bh1xxBF6//vfr2effVZSOO9+7nOf08KFC5VIJPS73/1OknTcccdp06ZNOvzww3dvixxzzDG7V7K+/vrrlUgktHDhQp133nlasmTJ7v3uvfde/c3f/I1mz569e3T60ksv1e9+9zsdfvjh+t73vqfHHnts9/9LDj30UK1bt25Un4lEkC6OMvvNEEjrkkukY45J/3XuuVL/iXS33t6wPd1zLrlk2Jdcu3atfv7zn+v+++/Xww8/rNraWrWN8G+ou7tbDzzwgK688kr9wz/8g775zW/qkUce0Vve8hZ99atf3b3f9u3btWbNGn3qU5/S2WefrZ///Of685//rL6+Pv3oRz+SJC1ZskSrV6/Wo48+qr/+9a+68847JUkf//jH9YMf/ED/+7//m8knV7WYIw0U2dKlqc/DS5fmfMiHHnpIN954o/7whz/owQcf1E9+8hO99NJLam9v14UXXqi1a9fqDW94g6655hrt2LFDn/70p7VixQo99NBDOuecc7Q06bX7+vr0xz/+UVddddXu8/HKlSs1Z84cPfzwwzr66KNT1vDMM8/oa1/7mh588EHdf//9euKJJwY9/uyzz+q+++7TnXfeqUsvvVSSdMUVV+joo4/Www8/rM985jP68Y9/rIsvvlgPP/yw1qxZo+nTp+f8mUQI0oVWoN8MgZLUP4qb8fYM3H333XrooYd05JFH6vDDD9fdd9+tDRs2DPucD3/4w6qtrVVPT49efvllvfvd75YknXXWWbr33nt37/fRj35UktTe3q5Zs2YpkUjssd9///d/66ijjtJb3vIW/dd//Zcee+wx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\n",
      "text/plain": [
       "<Figure size 864x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,6))\n",
    "\n",
    "plt.subplot(121)\n",
    "plt.plot(k1, Pk1, 'ro-', label='euroroad')\n",
    "plt.legend(loc=0)\n",
    "plt.xlabel(\"$k$\")\n",
    "plt.ylabel(\"$p_k$\")\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.plot(k2, Pk2, 'ro', label='openflights')\n",
    "plt.legend(loc=0)\n",
    "plt.xlabel(\"$k$\")\n",
    "plt.ylabel(\"$p_k$\")\n",
    "plt.ylim([1e-4,1])\n",
    "plt.xscale(\"log\")\n",
    "plt.yscale(\"log\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "77d8026e",
   "metadata": {},
   "source": [
    "## 2、对于航空网络，粗略拟合度分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "f169e931",
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import optimize"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "34cf8678",
   "metadata": {},
   "outputs": [],
   "source": [
    "def fit_line(x, a, b):\n",
    "    return a * x + b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "0f86d2ee",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "斜率 a =  -1.366312420298909\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.log10(np.array(k2))\n",
    "y = np.log10(np.array(Pk2))\n",
    "\n",
    "kmin2, kmax2 = min(deg2), max(deg2)\n",
    "# 拟合\n",
    "a, b = optimize.curve_fit(fit_line, x, y)[0]\n",
    "print(\"斜率 a = \", a)\n",
    "\n",
    "x1 = np.arange(kmin2, kmax2, 0.01)\n",
    "y1 = (10**b) * (x1 ** a)\n",
    "\n",
    "plt.figure(figsize=(6,6))\n",
    "plt.plot(k2, Pk2, 'ro')\n",
    "plt.plot(x1, y1, 'b-')\n",
    "plt.xlabel(\"$k$\")\n",
    "plt.ylabel(\"$p_k$\")\n",
    "plt.ylim([1e-4,1])\n",
    "plt.xscale(\"log\")\n",
    "plt.yscale(\"log\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "82e052c8",
   "metadata": {},
   "outputs": [],
   "source": [
    "import powerlaw\n",
    "# 安装：pip install powerlaw"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "9b89bafa",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "248\n",
      "Calculating best minimal value for power law fit\n",
      "xmin progress: 00%\r",
      "xmin progress: 00%\r",
      "xmin progress: 01%\r",
      "xmin progress: 02%\r",
      "xmin progress: 02%\r",
      "xmin progress: 03%\r",
      "xmin progress: 04%\r",
      "xmin progress: 04%\r",
      "xmin progress: 05%\r",
      "xmin progress: 06%\r",
      "xmin progress: 06%\r",
      "xmin progress: 07%\r",
      "xmin progress: 08%\r",
      "xmin progress: 09%\r",
      "xmin progress: 09%\r",
      "xmin progress: 10%\r",
      "xmin progress: 11%\r",
      "xmin progress: 11%\r",
      "xmin progress: 12%\r",
      "xmin progress: 13%\r",
      "xmin progress: 13%\r",
      "xmin progress: 14%\r",
      "xmin progress: 15%\r",
      "xmin progress: 16%\r",
      "xmin progress: 16%\r",
      "xmin progress: 17%\r",
      "xmin progress: 18%\r",
      "xmin progress: 18%\r",
      "xmin progress: 19%\r",
      "xmin progress: 20%\r",
      "xmin progress: 20%\r",
      "xmin progress: 21%\r",
      "xmin progress: 22%\r",
      "xmin progress: 23%\r",
      "xmin progress: 23%\r",
      "xmin progress: 24%\r",
      "xmin progress: 25%\r",
      "xmin progress: 25%\r",
      "xmin progress: 26%\r",
      "xmin progress: 27%\r",
      "xmin progress: 27%\r",
      "xmin progress: 28%\r",
      "xmin progress: 29%\r",
      "xmin progress: 30%\r",
      "xmin progress: 30%\r",
      "xmin progress: 31%\r",
      "xmin progress: 32%\r",
      "xmin progress: 32%\r",
      "xmin progress: 33%\r",
      "xmin progress: 34%\r",
      "xmin progress: 34%\r",
      "xmin progress: 35%\r",
      "xmin progress: 36%\r",
      "xmin progress: 37%\r",
      "xmin progress: 37%\r",
      "xmin progress: 38%\r",
      "xmin progress: 39%\r",
      "xmin progress: 39%\r",
      "xmin progress: 40%\r",
      "xmin progress: 41%\r",
      "xmin progress: 41%\r",
      "xmin progress: 42%\r",
      "xmin progress: 43%\r",
      "xmin progress: 44%\r",
      "xmin progress: 44%\r",
      "xmin progress: 45%\r",
      "xmin progress: 46%\r",
      "xmin progress: 46%\r",
      "xmin progress: 47%\r",
      "xmin progress: 48%\r",
      "xmin progress: 48%\r",
      "xmin progress: 49%\r",
      "xmin progress: 50%\r",
      "xmin progress: 51%\r",
      "xmin progress: 51%\r",
      "xmin progress: 52%\r",
      "xmin progress: 53%\r",
      "xmin progress: 53%\r",
      "xmin progress: 54%\r",
      "xmin progress: 55%\r",
      "xmin progress: 55%\r",
      "xmin progress: 56%\r",
      "xmin progress: 57%\r",
      "xmin progress: 58%\r",
      "xmin progress: 58%\r",
      "xmin progress: 59%\r",
      "xmin progress: 60%\r",
      "xmin progress: 60%\r",
      "xmin progress: 61%\r",
      "xmin progress: 62%\r",
      "xmin progress: 62%\r",
      "xmin progress: 63%\r",
      "xmin progress: 64%\r",
      "xmin progress: 65%\r",
      "xmin progress: 65%\r",
      "xmin progress: 66%\r",
      "xmin progress: 67%\r",
      "xmin progress: 67%\r",
      "xmin progress: 68%\r",
      "xmin progress: 69%\r",
      "xmin progress: 69%\r",
      "xmin progress: 70%\r",
      "xmin progress: 71%\r",
      "xmin progress: 72%\r",
      "xmin progress: 72%\r",
      "xmin progress: 73%\r",
      "xmin progress: 74%\r",
      "xmin progress: 74%\r",
      "xmin progress: 75%\r",
      "xmin progress: 76%\r",
      "xmin progress: 76%\r",
      "xmin progress: 77%\r",
      "xmin progress: 78%\r",
      "xmin progress: 79%\r",
      "xmin progress: 79%\r",
      "xmin progress: 80%\r",
      "xmin progress: 81%\r",
      "xmin progress: 81%\r",
      "xmin progress: 82%\r",
      "xmin progress: 83%\r",
      "xmin progress: 83%\r",
      "xmin progress: 84%\r",
      "xmin progress: 85%\r",
      "xmin progress: 86%\r",
      "xmin progress: 86%\r",
      "xmin progress: 87%\r",
      "xmin progress: 88%\r",
      "xmin progress: 88%\r",
      "xmin progress: 89%\r",
      "xmin progress: 90%\r",
      "xmin progress: 90%\r",
      "xmin progress: 91%\r",
      "xmin progress: 92%\r",
      "xmin progress: 93%\r",
      "xmin progress: 93%\r",
      "xmin progress: 94%\r",
      "xmin progress: 95%\r",
      "xmin progress: 95%\r",
      "xmin progress: 96%\r",
      "xmin progress: 97%\r",
      "xmin progress: 97%\r",
      "xmin progress: 98%\r",
      "xmin progress: 99%\r",
      "<powerlaw.Fit object at 0x00000212F99617F0>\n",
      "kmin: 2.0\n",
      "gamma: 1.9028919860606162\n",
      "D: 0.05721869113396072\n"
     ]
    }
   ],
   "source": [
    "data = [G2.degree(i) for i in G2.nodes()]\n",
    "print(max(data))\n",
    "\n",
    "fit = powerlaw.Fit(data)\n",
    "print(fit)\n",
    "kmin = fit.power_law.xmin\n",
    "print(\"kmin:\", kmin)\n",
    "print(\"gamma:\", fit.power_law.alpha)\n",
    "print(\"D:\", fit.power_law.D)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "323b73ef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x345.6 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[6, 4.8])\n",
    "fig = fit.plot_pdf(marker = 'o', color='b', linewidth=1)\n",
    "fit.power_law.plot_pdf(color='b', linestyle='-', ax=fig)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "b50e4f74",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = fit.plot_ccdf(marker = 'o', color='b', linewidth=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6d9881ef",
   "metadata": {},
   "source": [
    "## 3、生成符合幂律分布的度序列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "9b8f6e56",
   "metadata": {},
   "outputs": [],
   "source": [
    "from networkx.utils import powerlaw_sequence"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "75a8109d",
   "metadata": {},
   "outputs": [],
   "source": [
    "degree_seq = powerlaw_sequence(10000, exponent=2.5)\n",
    "int_deg = [int(di) for di in degree_seq]\n",
    "# print(int_deg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "3d2e9923",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Calculating best minimal value for power law fit\n",
      "xmin progress: 00%\r",
      "xmin progress: 01%\r",
      "xmin progress: 03%\r",
      "xmin progress: 04%\r",
      "xmin progress: 06%\r",
      "xmin progress: 08%\r",
      "xmin progress: 09%\r",
      "xmin progress: 11%\r",
      "xmin progress: 12%\r",
      "xmin progress: 14%\r",
      "xmin progress: 16%\r",
      "xmin progress: 17%\r",
      "xmin progress: 19%\r",
      "xmin progress: 20%\r",
      "xmin progress: 22%\r",
      "xmin progress: 24%\r",
      "xmin progress: 25%\r",
      "xmin progress: 27%\r",
      "xmin progress: 29%\r",
      "xmin progress: 30%\r",
      "xmin progress: 32%\r",
      "xmin progress: 33%\r",
      "xmin progress: 35%\r",
      "xmin progress: 37%\r",
      "xmin progress: 38%\r",
      "xmin progress: 40%\r",
      "xmin progress: 41%\r",
      "xmin progress: 43%\r",
      "xmin progress: 45%\r",
      "xmin progress: 46%\r",
      "xmin progress: 48%\r",
      "xmin progress: 50%\r",
      "xmin progress: 51%\r",
      "xmin progress: 53%\r",
      "xmin progress: 54%\r",
      "xmin progress: 56%\r",
      "xmin progress: 58%\r",
      "xmin progress: 59%\r",
      "xmin progress: 61%\r",
      "xmin progress: 62%\r",
      "xmin progress: 64%\r",
      "xmin progress: 66%\r",
      "xmin progress: 67%\r",
      "xmin progress: 69%\r",
      "xmin progress: 70%\r",
      "xmin progress: 72%\r",
      "xmin progress: 74%\r",
      "xmin progress: 75%\r",
      "xmin progress: 77%\r",
      "xmin progress: 79%\r",
      "xmin progress: 80%\r",
      "xmin progress: 82%\r",
      "xmin progress: 83%\r",
      "xmin progress: 85%\r",
      "xmin progress: 87%\r",
      "xmin progress: 88%\r",
      "xmin progress: 90%\r",
      "xmin progress: 91%\r",
      "xmin progress: 93%\r",
      "xmin progress: 95%\r",
      "xmin progress: 96%\r",
      "xmin progress: 98%\r",
      "<powerlaw.Fit object at 0x000002128B907610>\n",
      "kmin: 13.0\n",
      "gamma: 2.8352828986507204\n",
      "D: 0.03231375482510257\n"
     ]
    }
   ],
   "source": [
    "fit = powerlaw.Fit(int_deg)\n",
    "print(fit)\n",
    "kmin = fit.power_law.xmin\n",
    "print(\"kmin:\", kmin)\n",
    "print(\"gamma:\", fit.power_law.alpha)\n",
    "print(\"D:\", fit.power_law.D)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "775482b7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x345.6 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[6, 4.8])\n",
    "fig = fit.plot_pdf(marker = 'o', color='b', linewidth=1)\n",
    "fit.power_law.plot_pdf(color='b', linestyle='-', ax=fig)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1a0f9ff0",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
